Epsilon是一个值,用于确定两个受舍入误差影响的数字是否足够接近被认为是“相等”。它在处理浮点数学时很有用,因为它可以减少“舍入错误”,"舍入错误"会使某些操作返回看起来不正确或与我们预期相反的值。例如,我们可能已经为精灵的图像索引添加了一个值,并期望结果是一个整数,但由于浮点数学的性质,实际的最终值最终会像5.0000002,所以我们会做以下检查:
if image_index == 5 {do something}
代码的行为不符合预期并返回假。但是,如果我们将epsilon值设置为0.000001,则image_index值将四舍五入为原始值的+/- 0.000001的最接近的实数,使上述比较返回true。
epsilon值将用于以下所有整数运算符:
- <: Less than
- >: Greater than
- ==: Equal to
- <=: Less than or equal to
- >=: Greater than or equal to
- !=: Not equal to
请注意,将epsilon值设置为0将禁用所有舍入,使用值1将产生错误。
math_set_epsilon(epsilon);
参数 | 描述 |
---|---|
epsilon | 新的epsilon值(从0到0.999999999)。 |
Real(实数)
math_set_epsilon(0.0001);
这将为所有进一步的浮点运算设置epsilon值。